package com.chenxin.interact.domain.mesRequest;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ToString
public class MesInReqDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @JsonProperty("HEAD")
    private Head HEAD;       // 主
    @JsonProperty("DETAILS")
    private List<DETAIL> DETAILS;   // 明细

    public static class Head {
        @JsonProperty("IN_STORAGE_NO")
        private String inStorageNo;//入库单号
        @JsonProperty("WORK_ORDER_NO")
        private String workOrderNo;//工单号
        @JsonProperty("ITEM_TYPE")//物料类型（0成品，1原材料，2半成品，3模具，4杂项物料）
        private String itemType;//入库产品类型
        @JsonProperty("ERP_STORAGE_NO")
        private String erpStorageNo;//入库仓库编码
        @JsonProperty("ENTERPRISE_NAME")
        private String enterpriseName;//部门编号

        public String getInStorageNo() {
            return inStorageNo;
        }

        public String getWorkOrderNo() {
            return workOrderNo;
        }

        public String getItemType() {
            return itemType;
        }

        public String getErpStorageNo() {
            return erpStorageNo;
        }

        public String getEnterpriseName() {
            return enterpriseName;
        }
    }


    public static class DETAIL {
        @JsonProperty("LINE")
        private Long line;//行号
        @JsonProperty("ITEM_CODE")
        private String itemCode;//物料编码
        @JsonProperty("QTY")
        private BigDecimal qty;//数
        @JsonProperty("LABEL_NO")
        private String labelNo;//标签号
        @JsonProperty("BATCH_BARCODE")
        private String batchBarcode;//生产批次号
        @JsonProperty("BARCODE")
        private String barcode;//箱号
        @JsonProperty("STORAGE_DATE")
        private String storageDate;//生产日期

        public Long getLine() {
            return line;
        }

        public String getItemCode() {
            return itemCode;
        }

        public BigDecimal getQty() {
            return qty;
        }

        public String getLabelNo() {
            return labelNo;
        }

        public String getBatchBarcode() {
            return batchBarcode;
        }

        public String getBarcode() {
            return barcode;
        }

        public String getStorageDate() {
            return storageDate;
        }
    }
}
